package com.cc.dao;

import com.cc.entity.AttendanceRecord;
import com.cc.entity.Page;

import java.util.Map;

public interface AttendanceDao {
    //判断今天是否打卡
    public boolean isClockIn(String employeeId);
    //打卡
    public void clockIn(String employeeId);
    // 更新打卡 下班卡
    public void updateClockIn(String employeeId);
    //分页获取员工考勤记录
    public Page<AttendanceRecord> getAttendanceRecord(Integer employeeId, Page<AttendanceRecord> page);
    //获取总记录数
    int getTotal(Integer employeeId);

    // 获取考勤概览数据
    Map<String, Object> getAttendanceOverview(Integer employeeId);

    // 获取最近一次迟到记录
    AttendanceRecord getLastLateRecord(Integer employeeId);

    // 统计请假天数
    int countLeaveDays(Integer employeeId, int year, int month);

    // 统计加班时长
    double sumOvertimeHours(Integer employeeId, int year, int month);

    // 获取年假剩余天数
    int getAnnualLeaveLeft(Integer employeeId);
}
